From 700eaf2a7369f67ef23e2ab8998ddbfc94335e50 Mon Sep 17 00:00:00 2001 From: "Laszlo Boszormenyi (GCS)" Date: Sat, 8 Oct 2016 17:27:30 +0100 Subject: [PATCH] Import libcrypto++_5.6.4.orig.tar.xz [dgit import orig libcrypto++_5.6.4.orig.tar.xz] --- 3way.cpp | 143 + 3way.h | 68 + CMakeLists.txt | 324 ++ Doxyfile | 2375 ++++++++ Filelist.txt | 420 ++ GNUmakefile | 811 +++ GNUmakefile-cross | 268 + Install.txt | 169 + License.txt | 51 + Readme.txt | 541 ++ TestData/3desval.dat | 3 + TestData/3wayval.dat | 5 + TestData/camellia.dat | 45 + TestData/cast128v.dat | 11 + TestData/cast256v.dat | 11 + TestData/descert.dat | 171 + TestData/dh1024.dat | 1 + TestData/dh2048.dat | 1 + TestData/dlie1024.dat | 1 + TestData/dlie2048.dat | 1 + TestData/dsa1024.dat | 1 + TestData/dsa1024b.dat | 1 + TestData/dsa512.dat | 1 + TestData/elgc1024.dat | 1 + TestData/esig1023.dat | 1 + TestData/esig1536.dat | 1 + TestData/esig2046.dat | 1 + TestData/fhmqv160.dat | 1 + TestData/fhmqv256.dat | 1 + TestData/fhmqv384.dat | 1 + TestData/fhmqv512.dat | 1 + TestData/gostval.dat | 23 + TestData/hmqv160.dat | 1 + TestData/hmqv256.dat | 1 + TestData/hmqv384.dat | 1 + TestData/hmqv512.dat | 1 + TestData/ideaval.dat | 11 + TestData/luc1024.dat | 1 + TestData/luc2048.dat | 1 + TestData/lucc1024.dat | 1 + TestData/lucc512.dat | 1 + TestData/lucd1024.dat | 4 + TestData/lucd512.dat | 2 + TestData/lucs1024.dat | 1 + TestData/lucs512.dat | 1 + TestData/marsval.dat | 9 + TestData/mqv1024.dat | 1 + TestData/mqv2048.dat | 1 + TestData/nr1024.dat | 1 + TestData/nr2048.dat | 1 + TestData/rabi1024.dat | 1 + TestData/rabi2048.dat | 1 + TestData/rc2val.dat | 48 + TestData/rc5val.dat | 5 + TestData/rc6val.dat | 17 + TestData/rijndael.dat | 9 + TestData/rsa1024.dat | 32 + TestData/rsa2048.dat | 61 + TestData/rsa400pb.dat | 10 + TestData/rsa400pv.dat | 41 + TestData/rsa512a.dat | 35 + TestData/rw1024.dat | 1 + TestData/rw2048.dat | 1 + TestData/saferval.dat | 16 + TestData/serpentv.dat | 12 + TestData/shacal2v.dat | 14 + TestData/sharkval.dat | 7 + TestData/skipjack.dat | 1 + TestData/squareva.dat | 8 + TestData/twofishv.dat | 9 + TestData/usage.dat | 81 + TestData/xtrdh171.dat | 3 + TestData/xtrdh342.dat | 5 + TestVectors/Readme.txt | 85 + TestVectors/aes.txt | 241 + TestVectors/all.txt | 38 + TestVectors/blake2.txt | 4 + TestVectors/blake2b.txt | 439 ++ TestVectors/blake2s.txt | 223 + TestVectors/camellia.txt | 8646 +++++++++++++++++++++++++++++ TestVectors/ccm.txt | 240 + TestVectors/chacha.txt | 120 + TestVectors/cmac.txt | 38 + TestVectors/dlies.txt | 542 ++ TestVectors/dsa.txt | 397 ++ TestVectors/dsa_1363.txt | 553 ++ TestVectors/dsa_rfc6979.txt | 662 +++ TestVectors/eax.txt | 75 + TestVectors/esign.txt | 93 + TestVectors/gcm.txt | 168 + TestVectors/hkdf.txt | 175 + TestVectors/hmac.txt | 281 + TestVectors/keccak.txt | 861 +++ TestVectors/mars.txt | 66 + TestVectors/nr.txt | 615 ++ TestVectors/panama.txt | 76 + TestVectors/rsa_oaep.txt | 1765 ++++++ TestVectors/rsa_pkcs1_1_5.txt | 89 + TestVectors/rsa_pss.txt | 2083 +++++++ TestVectors/rw.txt | 166 + TestVectors/salsa.txt | 463 ++ TestVectors/seal.txt | 137 + TestVectors/seed.txt | 19 + TestVectors/sha.txt | 59 + TestVectors/sha3_224_fips_202.txt | 983 ++++ TestVectors/sha3_256_fips_202.txt | 951 ++++ TestVectors/sha3_384_fips_202.txt | 823 +++ TestVectors/sha3_512_fips_202.txt | 695 +++ TestVectors/sha3_fips_202.txt | 6 + TestVectors/shacal2.txt | 5123 +++++++++++++++++ TestVectors/sosemanuk.txt | 25 + TestVectors/tea.txt | 711 +++ TestVectors/ttmac.txt | 40 + TestVectors/vmac.txt | 77 + TestVectors/wake.txt | 10 + TestVectors/whrlpool.txt | 39 + adhoc.cpp.proto | 42 + adler32.cpp | 82 + adler32.h | 34 + aes.h | 23 + algebra.cpp | 341 ++ algebra.h | 453 ++ algparam.cpp | 77 + algparam.h | 571 ++ arc4.cpp | 122 + arc4.h | 83 + argnames.h | 93 + asn.cpp | 606 ++ asn.h | 546 ++ authenc.cpp | 180 + authenc.h | 66 + base32.cpp | 39 + base32.h | 96 + base64.cpp | 90 + base64.h | 162 + basecode.cpp | 247 + basecode.h | 142 + bds10.zip | Bin 0 -> 6812 bytes bench.h | 13 + bench1.cpp | 398 ++ bench2.cpp | 377 ++ bfinit.cpp | 277 + blake2.cpp | 5079 +++++++++++++++++ blake2.h | 314 ++ blowfish.cpp | 99 + blowfish.h | 56 + blumshub.cpp | 64 + blumshub.h | 63 + camellia.cpp | 540 ++ camellia.h | 51 + cast.cpp | 296 + cast.h | 109 + casts.cpp | 545 ++ cbcmac.cpp | 62 + cbcmac.h | 56 + ccm.cpp | 140 + ccm.h | 122 + chacha.cpp | 153 + chacha.h | 81 + channels.cpp | 312 ++ channels.h | 134 + cmac.cpp | 126 + cmac.h | 67 + config.h | 910 +++ config.recommend | 910 +++ cpu.cpp | 763 +++ cpu.h | 673 +++ crc.cpp | 365 ++ crc.h | 75 + cryptdll.vcxproj | 908 +++ cryptdll.vcxproj.filters | 390 ++ cryptest.nmake | 136 + cryptest.sh | 5378 ++++++++++++++++++ cryptest.sln | 95 + cryptest.vcxproj | 676 +++ cryptest.vcxproj.filters | 365 ++ cryptest.vcxproj.user | 6 + cryptlib.cpp | 942 ++++ cryptlib.h | 3003 ++++++++++ cryptlib.vcxproj | 2414 ++++++++ cryptlib.vcxproj.filters | 834 +++ cryptopp-config.cmake | 1 + cryptopp.rc | 104 + datatest.cpp | 849 +++ default.cpp | 273 + default.h | 177 + des.cpp | 453 ++ des.h | 167 + dessp.cpp | 95 + dh.cpp | 21 + dh.h | 176 + dh2.cpp | 24 + dh2.h | 65 + dll.cpp | 160 + dll.h | 77 + dlltest.cpp | 207 + dlltest.vcxproj | 207 + dmac.h | 99 + dsa.cpp | 66 + dsa.h | 41 + eax.cpp | 59 + eax.h | 109 + ec2n.cpp | 294 + ec2n.h | 135 + eccrypto.cpp | 719 +++ eccrypto.h | 376 ++ ecp.cpp | 476 ++ ecp.h | 146 + elgamal.cpp | 19 + elgamal.h | 144 + emsa2.cpp | 35 + emsa2.h | 88 + eprecomp.cpp | 114 + eprecomp.h | 93 + esign.cpp | 221 + esign.h | 133 + factory.h | 139 + fhmqv.h | 304 + files.cpp | 258 + files.h | 113 + filters.cpp | 1169 ++++ filters.h | 1292 +++++ fips140.cpp | 88 + fips140.h | 113 + fipsalgt.cpp | 1294 +++++ fipstest.cpp | 632 +++ fltrimpl.h | 85 + gcm.cpp | 1073 ++++ gcm.h | 132 + gf256.cpp | 34 + gf256.h | 67 + gf2_32.cpp | 99 + gf2_32.h | 68 + gf2n.cpp | 903 +++ gf2n.h | 370 ++ gfpcrypt.cpp | 306 + gfpcrypt.h | 636 +++ gost.cpp | 123 + gost.h | 69 + gzip.cpp | 99 + gzip.h | 101 + hex.cpp | 44 + hex.h | 52 + hkdf.h | 109 + hmac.cpp | 86 + hmac.h | 75 + hmqv.h | 312 ++ hrtimer.cpp | 174 + hrtimer.h | 67 + ida.cpp | 423 ++ ida.h | 161 + idea.cpp | 193 + idea.h | 66 + integer.cpp | 4552 +++++++++++++++ integer.h | 614 ++ iterhash.cpp | 162 + iterhash.h | 106 + keccak.cpp | 291 + keccak.h | 120 + lubyrack.h | 144 + luc.cpp | 215 + luc.h | 306 + mars.cpp | 154 + mars.h | 59 + marss.cpp | 140 + md2.cpp | 120 + md2.h | 46 + md4.cpp | 110 + md4.h | 35 + md5.cpp | 120 + md5.h | 33 + mdc.h | 79 + mersenne.h | 212 + misc.cpp | 268 + misc.h | 2389 ++++++++ modarith.h | 321 ++ modes.cpp | 280 + modes.h | 485 ++ modexppc.h | 37 + mqueue.cpp | 174 + mqueue.h | 105 + mqv.cpp | 29 + mqv.h | 221 + nbtheory.cpp | 1125 ++++ nbtheory.h | 173 + network.cpp | 554 ++ network.h | 234 + nr.h | 6 + oaep.cpp | 98 + oaep.h | 43 + oids.h | 135 + osrng.cpp | 272 + osrng.h | 267 + panama.cpp | 522 ++ panama.h | 163 + pch.cpp | 1 + pch.h | 24 + pkcspad.cpp | 129 + pkcspad.h | 99 + polynomi.cpp | 577 ++ polynomi.h | 467 ++ pssr.cpp | 161 + pssr.h | 100 + pubkey.cpp | 170 + pubkey.h | 2247 ++++++++ pwdbased.h | 254 + queue.cpp | 574 ++ queue.h | 161 + rabin.cpp | 222 + rabin.h | 111 + randpool.cpp | 74 + randpool.h | 47 + rc2.cpp | 118 + rc2.h | 95 + rc5.cpp | 80 + rc5.h | 59 + rc6.cpp | 97 + rc6.h | 59 + rdrand-masm.cmd | 117 + rdrand-nasm.sh | 24 + rdrand.S | 596 ++ rdrand.asm | 557 ++ rdrand.cpp | 509 ++ rdrand.h | 199 + rdtables.cpp | 172 + regtest.cpp | 190 + resource.h | 15 + rijndael.cpp | 1323 +++++ rijndael.h | 84 + ripemd.cpp | 803 +++ ripemd.h | 54 + rng.cpp | 163 + rng.h | 111 + rsa.cpp | 308 + rsa.h | 250 + rw.cpp | 290 + rw.h | 128 + safer.cpp | 157 + safer.h | 107 + salsa.cpp | 626 +++ salsa.h | 88 + seal.cpp | 220 + seal.h | 58 + secblock.h | 813 +++ seckey.h | 466 ++ seed.cpp | 104 + seed.h | 46 + serpent.cpp | 125 + serpent.h | 57 + serpentp.h | 434 ++ sha.cpp | 931 ++++ sha.h | 75 + sha3.cpp | 291 + sha3.h | 106 + shacal2.cpp | 140 + shacal2.h | 59 + shark.cpp | 142 + shark.h | 76 + sharkbox.cpp | 4166 ++++++++++++++ simple.cpp | 13 + simple.h | 306 + skipjack.cpp | 202 + skipjack.h | 72 + smartptr.h | 321 ++ socketft.cpp | 593 ++ socketft.h | 225 + sosemanuk.cpp | 717 +++ sosemanuk.h | 52 + square.cpp | 187 + square.h | 63 + squaretb.cpp | 582 ++ stdcpp.h | 70 + strciphr.cpp | 252 + strciphr.h | 631 +++ tea.cpp | 167 + tea.h | 163 + test.cpp | 979 ++++ tftables.cpp | 323 ++ tiger.cpp | 276 + tiger.h | 24 + tigertab.cpp | 525 ++ trdlocal.cpp | 106 + trdlocal.h | 44 + trunhash.h | 52 + ttmac.cpp | 338 ++ ttmac.h | 46 + twofish.cpp | 169 + twofish.h | 64 + validat1.cpp | 3061 ++++++++++ validat2.cpp | 1099 ++++ validat3.cpp | 1573 ++++++ validate.h | 133 + vc60.zip | Bin 0 -> 7874 bytes vmac.cpp | 926 +++ vmac.h | 89 + vs2005.zip | Bin 0 -> 12388 bytes wait.cpp | 478 ++ wait.h | 239 + wake.cpp | 114 + wake.h | 75 + whrlpool.cpp | 723 +++ whrlpool.h | 21 + winpipes.cpp | 225 + winpipes.h | 145 + words.h | 108 + x64dll.asm | 1968 +++++++ x64masm.asm | 1565 ++++++ xtr.cpp | 103 + xtr.h | 221 + xtrcrypt.cpp | 112 + xtrcrypt.h | 56 + zdeflate.cpp | 815 +++ zdeflate.h | 172 + zinflate.cpp | 637 +++ zinflate.h | 153 + zlib.cpp | 93 + zlib.h | 60 + 417 files changed, 144189 insertions(+) create mode 100644 3way.cpp create mode 100644 3way.h create mode 100644 CMakeLists.txt create mode 100644 Doxyfile create mode 100644 Filelist.txt create mode 100755 GNUmakefile create mode 100755 GNUmakefile-cross create mode 100644 Install.txt create mode 100644 License.txt create mode 100644 Readme.txt create mode 100644 TestData/3desval.dat create mode 100644 TestData/3wayval.dat create mode 100644 TestData/camellia.dat create mode 100644 TestData/cast128v.dat create mode 100644 TestData/cast256v.dat create mode 100644 TestData/descert.dat create mode 100644 TestData/dh1024.dat create mode 100644 TestData/dh2048.dat create mode 100644 TestData/dlie1024.dat create mode 100644 TestData/dlie2048.dat create mode 100644 TestData/dsa1024.dat create mode 100644 TestData/dsa1024b.dat create mode 100644 TestData/dsa512.dat create mode 100644 TestData/elgc1024.dat create mode 100644 TestData/esig1023.dat create mode 100644 TestData/esig1536.dat create mode 100644 TestData/esig2046.dat create mode 100644 TestData/fhmqv160.dat create mode 100644 TestData/fhmqv256.dat create mode 100644 TestData/fhmqv384.dat create mode 100644 TestData/fhmqv512.dat create mode 100644 TestData/gostval.dat create mode 100644 TestData/hmqv160.dat create mode 100644 TestData/hmqv256.dat create mode 100644 TestData/hmqv384.dat create mode 100644 TestData/hmqv512.dat create mode 100644 TestData/ideaval.dat create mode 100644 TestData/luc1024.dat create mode 100644 TestData/luc2048.dat create mode 100644 TestData/lucc1024.dat create mode 100644 TestData/lucc512.dat create mode 100644 TestData/lucd1024.dat create mode 100644 TestData/lucd512.dat create mode 100644 TestData/lucs1024.dat create mode 100644 TestData/lucs512.dat create mode 100644 TestData/marsval.dat create mode 100644 TestData/mqv1024.dat create mode 100644 TestData/mqv2048.dat create mode 100644 TestData/nr1024.dat create mode 100644 TestData/nr2048.dat create mode 100644 TestData/rabi1024.dat create mode 100644 TestData/rabi2048.dat create mode 100644 TestData/rc2val.dat create mode 100644 TestData/rc5val.dat create mode 100644 TestData/rc6val.dat create mode 100644 TestData/rijndael.dat create mode 100644 TestData/rsa1024.dat create mode 100644 TestData/rsa2048.dat create mode 100644 TestData/rsa400pb.dat create mode 100644 TestData/rsa400pv.dat create mode 100644 TestData/rsa512a.dat create mode 100644 TestData/rw1024.dat create mode 100644 TestData/rw2048.dat create mode 100644 TestData/saferval.dat create mode 100644 TestData/serpentv.dat create mode 100644 TestData/shacal2v.dat create mode 100644 TestData/sharkval.dat create mode 100644 TestData/skipjack.dat create mode 100644 TestData/squareva.dat create mode 100644 TestData/twofishv.dat create mode 100644 TestData/usage.dat create mode 100644 TestData/xtrdh171.dat create mode 100644 TestData/xtrdh342.dat create mode 100644 TestVectors/Readme.txt create mode 100644 TestVectors/aes.txt create mode 100644 TestVectors/all.txt create mode 100644 TestVectors/blake2.txt create mode 100644 TestVectors/blake2b.txt create mode 100644 TestVectors/blake2s.txt create mode 100644 TestVectors/camellia.txt create mode 100644 TestVectors/ccm.txt create mode 100644 TestVectors/chacha.txt create mode 100644 TestVectors/cmac.txt create mode 100644 TestVectors/dlies.txt create mode 100644 TestVectors/dsa.txt create mode 100644 TestVectors/dsa_1363.txt create mode 100644 TestVectors/dsa_rfc6979.txt create mode 100644 TestVectors/eax.txt create mode 100644 TestVectors/esign.txt create mode 100644 TestVectors/gcm.txt create mode 100644 TestVectors/hkdf.txt create mode 100644 TestVectors/hmac.txt create mode 100644 TestVectors/keccak.txt create mode 100644 TestVectors/mars.txt create mode 100644 TestVectors/nr.txt create mode 100644 TestVectors/panama.txt create mode 100644 TestVectors/rsa_oaep.txt create mode 100644 TestVectors/rsa_pkcs1_1_5.txt create mode 100644 TestVectors/rsa_pss.txt create mode 100644 TestVectors/rw.txt create mode 100644 TestVectors/salsa.txt create mode 100644 TestVectors/seal.txt create mode 100644 TestVectors/seed.txt create mode 100644 TestVectors/sha.txt create mode 100644 TestVectors/sha3_224_fips_202.txt create mode 100644 TestVectors/sha3_256_fips_202.txt create mode 100644 TestVectors/sha3_384_fips_202.txt create mode 100644 TestVectors/sha3_512_fips_202.txt create mode 100644 TestVectors/sha3_fips_202.txt create mode 100644 TestVectors/shacal2.txt create mode 100644 TestVectors/sosemanuk.txt create mode 100644 TestVectors/tea.txt create mode 100644 TestVectors/ttmac.txt create mode 100644 TestVectors/vmac.txt create mode 100644 TestVectors/wake.txt create mode 100644 TestVectors/whrlpool.txt create mode 100644 adhoc.cpp.proto create mode 100644 adler32.cpp create mode 100644 adler32.h create mode 100644 aes.h create mode 100644 algebra.cpp create mode 100644 algebra.h create mode 100644 algparam.cpp create mode 100644 algparam.h create mode 100644 arc4.cpp create mode 100644 arc4.h create mode 100644 argnames.h create mode 100644 asn.cpp create mode 100644 asn.h create mode 100644 authenc.cpp create mode 100644 authenc.h create mode 100644 base32.cpp create mode 100644 base32.h create mode 100644 base64.cpp create mode 100644 base64.h create mode 100644 basecode.cpp create mode 100644 basecode.h create mode 100644 bds10.zip create mode 100644 bench.h create mode 100644 bench1.cpp create mode 100644 bench2.cpp create mode 100644 bfinit.cpp create mode 100644 blake2.cpp create mode 100644 blake2.h create mode 100644 blowfish.cpp create mode 100644 blowfish.h create mode 100644 blumshub.cpp create mode 100644 blumshub.h create mode 100644 camellia.cpp create mode 100644 camellia.h create mode 100644 cast.cpp create mode 100644 cast.h create mode 100644 casts.cpp create mode 100644 cbcmac.cpp create mode 100644 cbcmac.h create mode 100644 ccm.cpp create mode 100644 ccm.h create mode 100644 chacha.cpp create mode 100644 chacha.h create mode 100644 channels.cpp create mode 100644 channels.h create mode 100644 cmac.cpp create mode 100644 cmac.h create mode 100644 config.h create mode 100644 config.recommend create mode 100644 cpu.cpp create mode 100644 cpu.h create mode 100644 crc.cpp create mode 100644 crc.h create mode 100644 cryptdll.vcxproj create mode 100644 cryptdll.vcxproj.filters create mode 100644 cryptest.nmake create mode 100755 cryptest.sh create mode 100644 cryptest.sln create mode 100644 cryptest.vcxproj create mode 100644 cryptest.vcxproj.filters create mode 100644 cryptest.vcxproj.user create mode 100644 cryptlib.cpp create mode 100644 cryptlib.h create mode 100644 cryptlib.vcxproj create mode 100644 cryptlib.vcxproj.filters create mode 100644 cryptopp-config.cmake create mode 100644 cryptopp.rc create mode 100644 datatest.cpp create mode 100644 default.cpp create mode 100644 default.h create mode 100644 des.cpp create mode 100644 des.h create mode 100644 dessp.cpp create mode 100644 dh.cpp create mode 100644 dh.h create mode 100644 dh2.cpp create mode 100644 dh2.h create mode 100644 dll.cpp create mode 100644 dll.h create mode 100644 dlltest.cpp create mode 100644 dlltest.vcxproj create mode 100644 dmac.h create mode 100644 dsa.cpp create mode 100644 dsa.h create mode 100644 eax.cpp create mode 100644 eax.h create mode 100644 ec2n.cpp create mode 100644 ec2n.h create mode 100644 eccrypto.cpp create mode 100644 eccrypto.h create mode 100644 ecp.cpp create mode 100644 ecp.h create mode 100644 elgamal.cpp create mode 100644 elgamal.h create mode 100644 emsa2.cpp create mode 100644 emsa2.h create mode 100644 eprecomp.cpp create mode 100644 eprecomp.h create mode 100644 esign.cpp create mode 100644 esign.h create mode 100644 factory.h create mode 100644 fhmqv.h create mode 100644 files.cpp create mode 100644 files.h create mode 100644 filters.cpp create mode 100644 filters.h create mode 100644 fips140.cpp create mode 100644 fips140.h create mode 100644 fipsalgt.cpp create mode 100644 fipstest.cpp create mode 100644 fltrimpl.h create mode 100644 gcm.cpp create mode 100644 gcm.h create mode 100644 gf256.cpp create mode 100644 gf256.h create mode 100644 gf2_32.cpp create mode 100644 gf2_32.h create mode 100644 gf2n.cpp create mode 100644 gf2n.h create mode 100644 gfpcrypt.cpp create mode 100644 gfpcrypt.h create mode 100644 gost.cpp create mode 100644 gost.h create mode 100644 gzip.cpp create mode 100644 gzip.h create mode 100644 hex.cpp create mode 100644 hex.h create mode 100644 hkdf.h create mode 100644 hmac.cpp create mode 100644 hmac.h create mode 100644 hmqv.h create mode 100644 hrtimer.cpp create mode 100644 hrtimer.h create mode 100644 ida.cpp create mode 100644 ida.h create mode 100644 idea.cpp create mode 100644 idea.h create mode 100644 integer.cpp create mode 100644 integer.h create mode 100644 iterhash.cpp create mode 100644 iterhash.h create mode 100644 keccak.cpp create mode 100644 keccak.h create mode 100644 lubyrack.h create mode 100644 luc.cpp create mode 100644 luc.h create mode 100644 mars.cpp create mode 100644 mars.h create mode 100644 marss.cpp create mode 100644 md2.cpp create mode 100644 md2.h create mode 100644 md4.cpp create mode 100644 md4.h create mode 100644 md5.cpp create mode 100644 md5.h create mode 100644 mdc.h create mode 100644 mersenne.h create mode 100644 misc.cpp create mode 100644 misc.h create mode 100644 modarith.h create mode 100644 modes.cpp create mode 100644 modes.h create mode 100644 modexppc.h create mode 100644 mqueue.cpp create mode 100644 mqueue.h create mode 100644 mqv.cpp create mode 100644 mqv.h create mode 100644 nbtheory.cpp create mode 100644 nbtheory.h create mode 100644 network.cpp create mode 100644 network.h create mode 100644 nr.h create mode 100644 oaep.cpp create mode 100644 oaep.h create mode 100644 oids.h create mode 100644 osrng.cpp create mode 100644 osrng.h create mode 100644 panama.cpp create mode 100644 panama.h create mode 100644 pch.cpp create mode 100644 pch.h create mode 100644 pkcspad.cpp create mode 100644 pkcspad.h create mode 100644 polynomi.cpp create mode 100644 polynomi.h create mode 100644 pssr.cpp create mode 100644 pssr.h create mode 100644 pubkey.cpp create mode 100644 pubkey.h create mode 100644 pwdbased.h create mode 100644 queue.cpp create mode 100644 queue.h create mode 100644 rabin.cpp create mode 100644 rabin.h create mode 100644 randpool.cpp create mode 100644 randpool.h create mode 100644 rc2.cpp create mode 100644 rc2.h create mode 100644 rc5.cpp create mode 100644 rc5.h create mode 100644 rc6.cpp create mode 100644 rc6.h create mode 100755 rdrand-masm.cmd create mode 100755 rdrand-nasm.sh create mode 100644 rdrand.S create mode 100644 rdrand.asm create mode 100644 rdrand.cpp create mode 100644 rdrand.h create mode 100644 rdtables.cpp create mode 100644 regtest.cpp create mode 100644 resource.h create mode 100644 rijndael.cpp create mode 100644 rijndael.h create mode 100644 ripemd.cpp create mode 100644 ripemd.h create mode 100644 rng.cpp create mode 100644 rng.h create mode 100644 rsa.cpp create mode 100644 rsa.h create mode 100644 rw.cpp create mode 100644 rw.h create mode 100644 safer.cpp create mode 100644 safer.h create mode 100644 salsa.cpp create mode 100644 salsa.h create mode 100644 seal.cpp create mode 100644 seal.h create mode 100644 secblock.h create mode 100644 seckey.h create mode 100644 seed.cpp create mode 100644 seed.h create mode 100644 serpent.cpp create mode 100644 serpent.h create mode 100644 serpentp.h create mode 100644 sha.cpp create mode 100644 sha.h create mode 100644 sha3.cpp create mode 100644 sha3.h create mode 100644 shacal2.cpp create mode 100644 shacal2.h create mode 100644 shark.cpp create mode 100644 shark.h create mode 100644 sharkbox.cpp create mode 100644 simple.cpp create mode 100644 simple.h create mode 100644 skipjack.cpp create mode 100644 skipjack.h create mode 100644 smartptr.h create mode 100644 socketft.cpp create mode 100644 socketft.h create mode 100644 sosemanuk.cpp create mode 100644 sosemanuk.h create mode 100644 square.cpp create mode 100644 square.h create mode 100644 squaretb.cpp create mode 100644 stdcpp.h create mode 100644 strciphr.cpp create mode 100644 strciphr.h create mode 100644 tea.cpp create mode 100644 tea.h create mode 100644 test.cpp create mode 100644 tftables.cpp create mode 100644 tiger.cpp create mode 100644 tiger.h create mode 100644 tigertab.cpp create mode 100644 trdlocal.cpp create mode 100644 trdlocal.h create mode 100644 trunhash.h create mode 100644 ttmac.cpp create mode 100644 ttmac.h create mode 100644 twofish.cpp create mode 100644 twofish.h create mode 100644 validat1.cpp create mode 100644 validat2.cpp create mode 100644 validat3.cpp create mode 100644 validate.h create mode 100644 vc60.zip create mode 100644 vmac.cpp create mode 100644 vmac.h create mode 100644 vs2005.zip create mode 100644 wait.cpp create mode 100644 wait.h create mode 100644 wake.cpp create mode 100644 wake.h create mode 100644 whrlpool.cpp create mode 100644 whrlpool.h create mode 100644 winpipes.cpp create mode 100644 winpipes.h create mode 100644 words.h create mode 100644 x64dll.asm create mode 100644 x64masm.asm create mode 100644 xtr.cpp create mode 100644 xtr.h create mode 100644 xtrcrypt.cpp create mode 100644 xtrcrypt.h create mode 100644 zdeflate.cpp create mode 100644 zdeflate.h create mode 100644 zinflate.cpp create mode 100644 zinflate.h create mode 100644 zlib.cpp create mode 100644 zlib.h diff --git a/3way.cpp b/3way.cpp new file mode 100644 index 0000000..cd0d8a7 --- /dev/null +++ b/3way.cpp @@ -0,0 +1,143 @@ +// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c +// The original code and all modifications are in the public domain. + +#include "pch.h" +#include "3way.h" +#include "misc.h" + +NAMESPACE_BEGIN(CryptoPP) + +#if !defined(NDEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING) +void ThreeWay_TestInstantiations() +{ + ThreeWay::Encryption x1; + ThreeWay::Decryption x2; +} +#endif + +static const word32 START_E = 0x0b0b; // round constant of first encryption round +static const word32 START_D = 0xb1b1; // round constant of first decryption round +#ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 +static const word32 RC_MODULUS = 0x11011; +#endif + +static inline word32 reverseBits(word32 a) +{ + a = ((a & 0xAAAAAAAA) >> 1) | ((a & 0x55555555) << 1); + a = ((a & 0xCCCCCCCC) >> 2) | ((a & 0x33333333) << 2); + return ((a & 0xF0F0F0F0) >> 4) | ((a & 0x0F0F0F0F) << 4); +} + +#define mu(a0, a1, a2) \ +{ \ + a1 = reverseBits(a1); \ + word32 t = reverseBits(a0); \ + a0 = reverseBits(a2); \ + a2 = t; \ +} + +#define pi_gamma_pi(a0, a1, a2) \ +{ \ + word32 b0, b2; \ + b2 = rotlFixed(a2, 1U); \ + b0 = rotlFixed(a0, 22U); \ + a0 = rotlFixed(b0 ^ (a1|(~b2)), 1U); \ + a2 = rotlFixed(b2 ^ (b0|(~a1)), 22U);\ + a1 ^= (b2|(~b0)); \ +} + +// thanks to Paulo Barreto for this optimized theta() +#define theta(a0, a1, a2) \ +{ \ + word32 b0, b1, c; \ + c = a0 ^ a1 ^ a2; \ + c = rotlFixed(c, 16U) ^ rotlFixed(c, 8U); \ + b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); \ + b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); \ + a0 ^= c ^ b0; \ + a1 ^= c ^ b1; \ + a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); \ +} + +#define rho(a0, a1, a2) \ +{ \ + theta(a0, a1, a2); \ + pi_gamma_pi(a0, a1, a2); \ +} + +void ThreeWay::Base::UncheckedSetKey(const byte *uk, unsigned int length, const NameValuePairs ¶ms) +{ + AssertValidKeyLength(length); + + m_rounds = GetRoundsAndThrowIfInvalid(params, this); + + for (unsigned int i=0; i<3; i++) + m_k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24); + + if (!IsForwardTransformation()) + { + theta(m_k[0], m_k[1], m_k[2]); + mu(m_k[0], m_k[1], m_k[2]); + m_k[0] = ByteReverse(m_k[0]); + m_k[1] = ByteReverse(m_k[1]); + m_k[2] = ByteReverse(m_k[2]); + } +} + +void ThreeWay::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const +{ + typedef BlockGetAndPut Block; + + word32 a0, a1, a2; + Block::Get(inBlock)(a0)(a1)(a2); + + word32 rc = START_E; + + for(unsigned i=0; i Block; + + word32 a0, a1, a2; + Block::Get(inBlock)(a0)(a1)(a2); + + word32 rc = START_D; + + mu(a0, a1, a2); + for(unsigned i=0; i, public FixedKeyLength<12>, public VariableRounds<11> +{ + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "3-Way";} +}; + +//! \class ThreeWay +//! \brief ThreeWay block cipher +//! \sa 3-Way +class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation +{ + //! \class Base + //! \brief Class specific implementation and overrides used to operate the cipher. + //! \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions + class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl + { + public: + void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms); + + protected: + unsigned int m_rounds; + FixedSizeSecBlock m_k; + }; + + //! \class Enc + //! \brief Class specific methods used to operate the cipher in the forward direction. + //! \details Implementations and overrides in \p Enc apply to \p ENCRYPTION. + class CRYPTOPP_NO_VTABLE Enc : public Base + { + public: + void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; + }; + + //! \class Dec + //! \brief Class specific methods used to operate the cipher in the reverse direction. + //! \details Implementations and overrides in \p Dec apply to \p DECRYPTION. + class CRYPTOPP_NO_VTABLE Dec : public Base + { + public: + void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; + }; + +public: + typedef BlockCipherFinal Encryption; + typedef BlockCipherFinal Decryption; +}; + +typedef ThreeWay::Encryption ThreeWayEncryption; +typedef ThreeWay::Decryption ThreeWayDecryption; + +NAMESPACE_END + +#endif diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..21277e5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,324 @@ +# Please ensure your changes or patch meets minimum requirements. +# The minimum requirements are below, and they are 2.8.5. Please +# do not check in something for 2.8.12. To test your changes, +# please set up a Ubuntu 12.04 LTS system. Then, manually install +# Cmake 2.8.5 from http://cmake.org/Wiki/CMake_Released_Versions. + +cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR) + +project(cryptopp) + +set(cryptopp_VERSION_MAJOR 5) +set(cryptopp_VERSION_MINOR 6) +set(cryptopp_VERSION_PATCH 4) + +include(GNUInstallDirs) +include(TestBigEndian) + +#============================================================================ +# Settable options +#============================================================================ + +option(BUILD_STATIC "Build static library" ON) +option(BUILD_SHARED "Build shared library" ON) +option(BUILD_TESTING "Build library tests" ON) +option(BUILD_DOCUMENTATION "Use Doxygen to create the HTML based API documentation" OFF) + +option(DISABLE_ASM "Disable ASM" OFF) +option(DISABLE_SSSE3 "Disable SSSE3" OFF) +option(DISABLE_AESNI "Disable AES-NI" OFF) +set(CRYPTOPP_DATA_DIR "" CACHE PATH "Crypto++ test data directory") + +#============================================================================ +# Internal compiler options +#============================================================================ + +# Don't use RPATH's. The resulting binary could fail a security audit. +if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) + set(CMAKE_MACOSX_RPATH 0) +endif() + +set(LIB_VER ${cryptopp_VERSION_MAJOR}${cryptopp_VERSION_MINOR}${cryptopp_VERSION_PATCH}) + +if(CMAKE_CXX_COMPILER_ID MATCHES "Intel") + add_definitions(-wd68 -wd186 -wd279 -wd327 -wd161 -wd3180) +endif() + +# Endianess +TEST_BIG_ENDIAN(IS_BIG_ENDIAN) +if(IS_BIG_ENDIAN) + add_definitions(-DIS_BIG_ENDIAN) +endif() + +if(DISABLE_ASM) + add_definitions(-DCRYPTOPP_DISABLE_ASM) +endif() +if(DISABLE_SSSE3) + add_definitions(-DCRYPTOPP_DISABLE_SSSE3) +endif() +if(DISABLE_AESNI) + add_definitions(-DCRYPTOPP_DISABLE_AESNI) +endif() +if(NOT CRYPTOPP_DATA_DIR STREQUAL "") + add_definitions(-DCRYPTOPP_DATA_DIR="${CRYPTOPP_DATA_DIR}") +endif() + +if(WINDOWS_STORE OR WINDOWS_PHONE) + if("${CMAKE_SYSTEM_VERSION}" MATCHES "10\\.0.*") + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D\"_WIN32_WINNT=0x0A00\"" ) + endif() + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FI\"winapifamily.h\"" ) +endif() +#============================================================================ +# Sources & headers +#============================================================================ + +# Library headers +file(GLOB cryptopp_HEADERS *.h) + +# Test sources. You can use the GNUmakefile to generate the list: `make sources`. +file(GLOB cryptopp_SOURCES_TEST bench1.cpp bench2.cpp test.cpp validat1.cpp validat2.cpp validat3.cpp adhoc.cpp datatest.cpp regtest.cpp fipsalgt.cpp dlltest.cpp fipstest.cpp) + +# Library sources. You can use the GNUmakefile to generate the list: `make sources`. +file(GLOB cryptopp_SOURCES *.cpp) +list(REMOVE_ITEM cryptopp_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/cryptlib.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cpu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pch.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/simple.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/winpipes.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cryptlib_bds.cpp + ${cryptopp_SOURCES_TEST} + ) +set(cryptopp_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/cryptlib.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cpu.cpp + ${cryptopp_SOURCES} + ) + +if(MINGW OR WIN32) + list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/winpipes.cpp) +endif() + +if(MSVC AND NOT DISABLE_ASM) + if(${CMAKE_GENERATOR} MATCHES ".*ARM") + message(STATUS "Disabling ASM because ARM is specified as target platform.") + else() + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm) + list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm) + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") + else() + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh") + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh") + set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh") + endif() + list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm) + enable_language(ASM_MASM) + endif() +endif() + +#============================================================================ +# Compile targets +#============================================================================ + +# Set global includes BEFORE adding any targets for legacy CMake versions +if(CMAKE_VERSION VERSION_LESS 2.8.12) + include_directories("${CMAKE_CURRENT_SOURCE_DIR}") +endif() + +if(NOT CMAKE_VERSION VERSION_LESS 2.8.8) + add_library(cryptopp-object OBJECT ${cryptopp_SOURCES}) +endif() + +if (BUILD_STATIC) + if(NOT CMAKE_VERSION VERSION_LESS 2.8.8) + add_library(cryptopp-static STATIC $) + else() + add_library(cryptopp-static STATIC ${cryptopp_SOURCES}) + endif() + + if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) + target_include_directories(cryptopp-static PUBLIC $ $) + endif() +endif() + +if (BUILD_SHARED) + if(NOT CMAKE_VERSION VERSION_LESS 2.8.8) + add_library(cryptopp-shared SHARED $) + else() + add_library(cryptopp-shared SHARED ${cryptopp_SOURCES}) + endif() + + if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) + target_include_directories(cryptopp-shared PUBLIC $ $) + endif() +endif() + +# Set PIC +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + # Enables -fPIC on all 64-bit platforms + if(NOT CMAKE_VERSION VERSION_LESS 2.8.9) # POSITION_INDEPENDENT_CODE support + set_target_properties(cryptopp-object PROPERTIES POSITION_INDEPENDENT_CODE TRUE) + elseif(NOT CMAKE_VERSION VERSION_LESS 2.8.8) # Object library support + get_target_property(flags_old cryptopp-object COMPILE_FLAGS) + set_target_properties(cryptopp-object PROPERTIES COMPILE_FLAGS "${flags_old} -fPIC") + else() + if (BUILD_STATIC) + get_target_property(flags_old_static cryptopp-static COMPILE_FLAGS) + if(NOT flags_old_static) + set(flags_old_static "") + endif() + set_target_properties(cryptopp-static PROPERTIES COMPILE_FLAGS "${flags_old_static} -fPIC") + endif() + if (BUILD_SHARED) + get_target_property(flags_old_shared cryptopp-shared COMPILE_FLAGS) + if(NOT flags_old_shared) + set(flags_old_shared "") + endif() + set_target_properties(cryptopp-shared PROPERTIES COMPILE_FLAGS "${flags_old_shared} -fPIC") + endif() + endif() +endif() + +# Set filenames for targets to be "cryptopp" +if(NOT MSVC) + set(COMPAT_VERSION ${cryptopp_VERSION_MAJOR}.${cryptopp_VERSION_MINOR}) + + if (BUILD_STATIC) + set_target_properties(cryptopp-static + PROPERTIES + OUTPUT_NAME cryptopp) + endif() + if (BUILD_SHARED) + set_target_properties(cryptopp-shared + PROPERTIES + SOVERSION ${COMPAT_VERSION} + OUTPUT_NAME cryptopp) + endif() +endif() + +# Targets, compatible with Crypto++ GNUMakefile +if (BUILD_STATIC) + add_custom_target(static) + add_dependencies(static cryptopp-static) +endif() +if (BUILD_SHARED) + add_custom_target(dynamic) + add_dependencies(dynamic cryptopp-shared) +endif() + +#============================================================================ +# Third-party libraries +#============================================================================ +if(WIN32) + if (BUILD_STATIC) + target_link_libraries(cryptopp-static ws2_32) + endif() + if (BUILD_SHARED) + target_link_libraries(cryptopp-shared ws2_32) + endif() +endif() + +find_package(Threads) +if (BUILD_STATIC) + target_link_libraries(cryptopp-static ${CMAKE_THREAD_LIBS_INIT}) +endif() +if (BUILD_SHARED) + target_link_libraries(cryptopp-shared ${CMAKE_THREAD_LIBS_INIT}) +endif() + +#============================================================================ +# Tests +#============================================================================ +enable_testing() +if(BUILD_TESTING) + add_executable(cryptest ${cryptopp_SOURCES_TEST}) + target_link_libraries(cryptest cryptopp-static) + + # Setting "cryptest" binary name to "cryptest.exe" + if(NOT WIN32) + set_target_properties(cryptest PROPERTIES OUTPUT_NAME cryptest.exe) + endif() + if(NOT TARGET cryptest.exe) + add_custom_target(cryptest.exe) + add_dependencies(cryptest.exe cryptest) + endif() + + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/TestData DESTINATION ${PROJECT_BINARY_DIR}) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors DESTINATION ${PROJECT_BINARY_DIR}) + + add_test(NAME build_cryptest COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target cryptest) + add_test(NAME cryptest COMMAND $ v) + set_tests_properties(cryptest PROPERTIES DEPENDS build_cryptest) +endif() + +#============================================================================ +# Doxygen documentation +#============================================================================ +if(BUILD_DOCUMENTATION) + find_package(Doxygen REQUIRED) + + set(in_source_DOCS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/html-docs") + set(out_source_DOCS_DIR "${PROJECT_BINARY_DIR}/html-docs") + + add_custom_target(docs ALL + COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile -d CRYPTOPP_DOXYGEN_PROCESSING + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile + ) + + if(NOT ${in_source_DOCS_DIR} STREQUAL ${out_source_DOCS_DIR}) + add_custom_command( + TARGET docs POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory "${in_source_DOCS_DIR}" "${out_source_DOCS_DIR}" + COMMAND ${CMAKE_COMMAND} -E remove_directory "${in_source_DOCS_DIR}" + ) + endif() +endif() + +#============================================================================ +# Install +#============================================================================ +set(export_name "cryptopp-targets") + +# Runtime package +if (BUILD_SHARED) + install( + TARGETS cryptopp-shared + EXPORT ${export_name} + DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) +endif() + +# Development package +if (BUILD_STATIC) + install(TARGETS cryptopp-static EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() +install(FILES ${cryptopp_HEADERS} DESTINATION include/cryptopp) + +# CMake Package +if(NOT CMAKE_VERSION VERSION_LESS 2.8.8) # CMakePackageConfigHelpers is supported from 2.8.8 + include(CMakePackageConfigHelpers) + write_basic_package_version_file("${PROJECT_BINARY_DIR}/cryptopp-config-version.cmake" VERSION ${cryptopp_VERSION_MAJOR}.${cryptopp_VERSION_MINOR}.${cryptopp_VERSION_PATCH} COMPATIBILITY SameMajorVersion) + install(FILES cryptopp-config.cmake ${PROJECT_BINARY_DIR}/cryptopp-config-version.cmake DESTINATION "lib/cmake/cryptopp") + install(EXPORT ${export_name} DESTINATION "lib/cmake/cryptopp") +endif() + +# Tests +if(BUILD_TESTING) + install(TARGETS cryptest DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/TestData DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cryptopp) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cryptopp) +endif() + + +# Documentation +if(BUILD_DOCUMENTATION) + install(DIRECTORY "${out_source_DOCS_DIR}" DESTINATION ${CMAKE_INSTALL_DOCDIR}) +endif() diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000..f7bafd7 --- /dev/null +++ b/Doxyfile @@ -0,0 +1,2375 @@ +# Doxyfile 1.8.9 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). +# +# The file can be upgraded to the latest version of Doxygen with `doxygen -u